package com.example.oop.Utils;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

//对响应的封装
public class Response {
//    根据协议（status/reason/args）来封装响应体
    public static JSONObject getJsonObject(String status, String reason, String... list) throws JSONException {  //list可变参数列表
        JSONObject json = new JSONObject();

        json.put("status", status);  //响应状态码
        json.put("reason", reason);  //响应成功/错误原因

        if (list.length > 0) {  //响应的返回参数（成对 key:value）
            JSONObject args = new JSONObject();
            for (int i = 0; i < list.length; i += 2) {
                args.put(list[i], list[i + 1]);
            }
            json.put("args", args);  //请求参数
        }

        return json;
    }

    //    根据协议（status/reason/data）来封装响应体
    public static JSONObject getJsonObject(String status, String reason, JSONObject data) throws JSONException {  //list可变参数列表
        JSONObject json = new JSONObject();

        json.put("status", status);  //响应状态码
        json.put("reason", reason);  //响应成功/错误原因
        json.put("data", data);  //响应成功/错误原因

        return json;
    }
    //    根据协议（status/reason/data）来封装响应体
    public static JSONObject getJsonObject(String status, String reason, JSONArray data) throws JSONException {  //list可变参数列表
        JSONObject json = new JSONObject();

        json.put("status", status);  //响应状态码
        json.put("reason", reason);  //响应成功/错误原因
        json.put("data", data);  //响应成功/错误原因

        return json;
    }
}
